//request.post方法提交一个表单

const https = require('https');
const querystring = require('querystring');

//构建表单提交的数据，就是Form Data
//需要将对象字面量转化为字符串
//querystring
//里面的对象就是formData的内容
var postData = querystring.stringify({
    type:'video',
    count :'5',
    page: '1'
});


//获取网页新闻
//https://api.apiopen.top/getWangYiNews
//body参数{page = '1',count ='5'}
//https://api.apiopen.top/getJoke
//body参数 { type='all'/'video'/'image'/ 'gif'/'text',page = '1',count ='5'}
//如果通过一个死循环不断提交，那么就称为灌水，会对网站进行攻击
//在提交网页添加一个验证码，就不能批量的灌数据了
var options = {
    hostname : 'api.apiopen.top',
    method:'POST',
    path:'/getJoke',
    //请求头:表单提交时请求头Content-Type为application/x-www-form-urlencoded类型
    headers: {
        'Content-length': postData.length,
        'Content-Type': 'application/x-www-form-urlencoded'
    }
}


var responseData = '';


var request = https.request(options,(res)=>{

    // console.log('Status:'+res.statusCode);

    // console.log('headers:'+JSON.stringify(res.headers));

    res.setEncoding('utf8');

    res.on('data',(chunk)=>{
        responseData += chunk;
    })

    res.on('end', () =>{
        // console.log('表单提交完毕');
        var jsonObj = JSON.parse(responseData);
        // console.log(jsonObj);
        var i =0;
        jsonObj.result.forEach((item)=>{
            console.log(++i+'.'+item.text);
        })
    })

})

request.on('error',(error)=>{
    console.log(error);
})

request.write(postData);

request.end();
